/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package dao;

import entity.TipoExamenEntity;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import utils.HibernateUtil;

/**
 *
 * @author NAYELI
 */
public class TipoExamenDAO {
      public static void main(String ...a){
        	Session session=null;
		Transaction transaction=null;
		try{
                        TipoExamenEntity eTipoExamen=new TipoExamenEntity();
                        System.out.println("++++++++++++++++++++++++++++++++++++");
                        eTipoExamen.setNombreexamen("Certificacion de Arquitecto");
                        //eUsuario.setIdPerfil(0);
			session = HibernateUtil.getSessionFactory().openSession();
			transaction =(Transaction)session.beginTransaction();
			session.save(eTipoExamen);
			transaction.commit();
			session.close();

		}catch(org.hibernate.exception.GenericJDBCException excepts){
			if(session!= null&& session.isOpen())
				session.close();
		}catch(Exception e){
                    e.printStackTrace();

			if(session!= null&& session.isOpen())
				session.close();
		}finally {
			if(session!= null&& session.isOpen())
				session.close();

		}

            TipoExamenEntity pue=new TipoExamenEntity ();
            TipoExamenDAO ted=new TipoExamenDAO();
             List <TipoExamenEntity> lista2= TipoExamenDAO.getAllTipoExamen();
		if(lista2 != null){
			for(TipoExamenEntity te : lista2){
				System.out.println(te.getIdtipoexamen()+" "+ te.getNombreexamen());
			}
		}

            //ud.getAllUsuarios();
              //if(UsuarioDAO.getAllUsuarios()!=null){
            //System.out.println(ud.getAllUsuarios()+"Valores de la lista");


        }
        //Método que se encarga de consultar una lista de Perfiles de Usuario.
        public static List<TipoExamenEntity> getAllTipoExamen(){
		Session session = HibernateUtil.getSessionFactory().openSession();
		List <TipoExamenEntity>lista=null;
		try{
			String query ="FROM TipoExamenEntity";
			lista=session.createQuery(query).list();
			session.close();
		}catch(org.hibernate.exception.GenericJDBCException excepts){
			if(session!= null&& session.isOpen())
				session.close();

		}catch(Exception e){
			if(session!= null&& session.isOpen())
				session.close();

		} finally{
			if(session!= null && session.isOpen())
				session.close();

		}
		return lista;
	}

        //Método que se encarga de eliminar un perfil de usuario por id del perfil.
      public static synchronized void eliminaPerfilUsuario(int idProducto) {
        Session session = null;
        Transaction transaction = null;

        try {
            session = HibernateUtil.getSessionFactory().openSession();
            transaction = session.beginTransaction();

          //  PerfilUsuarioEntity perfilUsuario=getPerfilUsuarioPorID(idPerfil);

                  	//Producto prod = getProductoPorID(idProducto);


           // session.delete(perfilUsuario);
            transaction.commit();

            session.close();
        } catch (org.hibernate.exception.GenericJDBCException excepts) {
            transaction.rollback();

            if (session != null && session.isOpen()) {
                session.close();
            }

        } catch (Exception e) {
            transaction.rollback();

            if (session != null && session.isOpen()) {
                session.close();
            }

        } finally {
            if (session != null && session.isOpen()) {
                session.close();
            }

        }
    }



	
}
